﻿using CTS.Com.Domain.Helper;
using CTS.Com.Domain.Model;
using CTS.Data.Domain.Dao;
using CTS.W._150101.Models.Domain.Common.Dao;
using CTS.W._150101.Models.Domain.Model.Client.Items.List;

namespace CTS.W._150101.Models.Domain.Dao.Client
{
    public class ItemsListDao : GenericDao<EntitiesDataContext>
    {
        // Định nghĩa hằng file sql
        public const string ITEMSLISTDAO_GETPAGERITEMS_SQL = "ItemsListDao_GetPagerItems.sql";

        /// <summary>
        /// Lấy pager sản phẩm
        /// </summary>
        public PagerInfoModel<MAItem> GetPagerItems(FilterDataModel inputObject)
        {
            // Tạo tham số
            var param = new {
                ItemSearchName = inputObject.ItemSearchName,
                TypeSearchName = inputObject.TypeSearchName,
                CategorySearchName = inputObject.CategorySearchName
            };
            // Tạo đối tượng pager
            var pagerInfo = new PagerInfoModel<MAItem>();
            // Sao chép thông tin pager
            DataHelper.CopyPagerInfo(inputObject, pagerInfo);
            // Gán tham số
            pagerInfo.Critial = param;
            // Kết quả trả về
            return GetPagerByFile<MAItem>(ITEMSLISTDAO_GETPAGERITEMS_SQL, pagerInfo);
        }
    }
}
